go/types.Pointer.base (field)

38 uses

	go/types (current package)
		builtins.go#L543: 		x.typ = &Pointer{base: T}
		builtins.go#L751: 		x.typ = NewSlice(typ.base)
		builtins.go#L895: 		if a, _ := under(p.base).(*Array); a != nil {
		call.go#L507: 					x.typ = x.typ.(*Pointer).base
		call.go#L679: 						typ = &Pointer{base: typ}
		conversions.go#L151: 			if IdenticalIgnoreTags(under(V.base), under(T.base)) && !isTypeParam(V.base) && !isTypeParam(T.base) {
		expr.go#L172: 		x.typ = &Pointer{base: x.typ}
		expr.go#L1592: 			x.typ = &Pointer{base: x.typ}
		expr.go#L1601: 				if base != nil && !Identical(p.base, base) {
		expr.go#L1605: 				base = p.base
		index.go#L76: 		if typ, _ := under(typ.base).(*Array); typ != nil {
		index.go#L127: 				if t, _ := under(t.base).(*Array); t != nil {
		index.go#L257: 		if u, _ := under(u.base).(*Array); u != nil {
		infer.go#L399: 		return w.isParameterized(t.base)
		infer.go#L734: 		w.typ(t.base)
		instantiate.go#L162: 	if p, _ := Vu.(*Pointer); p != nil && under(p.base) == Typ[Invalid] {
		lookup.go#L409: 	return p != nil && IsInterface(p.base)
		lookup.go#L415: 	if p, _ := under(T).(*Pointer); isTypeParam(p.base) {
		lookup.go#L467: 		if p.base == nil {
		lookup.go#L473: 		return p.base, true
		lookup.go#L482: 		if _, ok := under(p.base).(*Struct); ok {
		lookup.go#L483: 			return p.base
		pointer.go#L9: 	base Type // element type
		pointer.go#L13: func NewPointer(elem Type) *Pointer { return &Pointer{base: elem} }
		pointer.go#L16: func (p *Pointer) Elem() Type { return p.base }
		predicates.go#L230: 			return identical(x.base, y.base, cmpTags, p)
		subst.go#L111: 		base := subst.typ(t.base)
		subst.go#L112: 		if base != t.base {
		subst.go#L113: 			return &Pointer{base: base}
		typestring.go#L178: 		w.typ(t.base)
		typexpr.go#L318: 		typ.base = Typ[Invalid] // avoid nil base in invalid recursive type declaration
		typexpr.go#L320: 		typ.base = check.varType(e.X)
		unify.go#L442: 			return u.nify(x.base, y.base, p)